package com.ikas.ai.server.module.steady.model.dto;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.math.BigDecimal;
import java.sql.Timestamp;
import java.util.Date;

/**
 * 稳态预警数据表
 *
 * @author wuyf
 * @since 2023-12-13
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
public class StyAlarmDataPageDto implements Serializable {

    private Long id;

    /**
     * 监测测点id
     */
    private Long monitorMeteId;

    /**
     * 机组编号
     */
    private String machineNo;

    /**
     * 测点编码
     */
    private String meteCode;

    /**
     * 测点名称
     */
    private String meteName;

    /**
     * 稳态类型：0：停机稳态，1：运行稳态
     */
    private Integer steadyType;

    /**
     * 预警时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss.SSS", timezone = "GMT+8")
    private Timestamp alarmTime;

    /**
     * 稳态运行开始时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss.SSS", timezone = "GMT+8")
    private Timestamp steadyStartTime;

    /**
     * 稳态工况 G,P,PC,S
     */
    private String steadyDesc;

    /**
     * 监测类型 0：阈值监测，1：趋势监测
     */
    private Integer monitorType;

    /**
     * 监测描述
     */
    private String monitorDesc;

    /**
     * 延迟预警时长(s)
     */
    private Integer delayAlarmDuration;

    /**
     * 趋势持续时长(s)
     */
    private Integer trendDuration;

    /**
     * 预警条件 (阈值监测) 1：大于，2：大于等于，3：小于，4：小于等于；(趋势监测) 5：上升，6：下降
     */
    private Integer alarmCondition;

    /**
     * 预警阈值
     */
    private Double alarmThreshold;

    /**
     * 测点值
     */
    private BigDecimal meteValue;

    /**
     * 趋势变化值
     */
    private BigDecimal trendChangeValue;

    /**
     * 消缺人员
     */
    private String solveUser;

    /**
     * 消缺时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date solveTime;

    /**
     * 消缺状态 0：未消缺 1：已消缺
     */
    private Integer solved;

}
